var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", "js/general_functions.js");
document.getElementsByTagName("head")[0].appendChild(script);

function date_check(date){
    // regular expression to match required (yyyy-mm-dd) date format 
    re = /^(\d{4})\-(\d{1,2})\-(\d{1,2})$/;

    if(date != '')
        if((regs = date.match(re))){
            if(regs[1] < (new Date()).getFullYear()-150 || regs[1] > (new Date()).getFullYear())
                return false; //alert("Năm không hợp lệ: " + regs[1]);
            if(regs[2] < 1 || regs[2] > 12)
                return false; //alert("Tháng không hợp lệ : " + regs[2]);
            if(regs[3] < 1 || regs[3] > 31)
                return false; //alert("Ngày không hợp lệ : " + regs[3]);
        }
        else
            return false; //alert("Dữ liệu nhập không đúng");

    return true;
}

function signup_submit(){
    document.getElementById("hint_hoten").innerHTML = "";
    document.getElementById("hint_cmnd").innerHTML = "";
    document.getElementById("hint_ngaysinh").innerHTML = "";
    document.getElementById("signup_failed").innerHTML = "";
    var hoten = document.getElementById("hoten").value;
    var cmnd = document.getElementById("cmnd").value;
    var ngaysinh = document.getElementById("ngaysinh").value;
	
    if ( hoten.length == 0 ) {
        document.getElementById("hint_hoten").innerHTML = "Chưa nhập họ tên !";
        return;
    }
	
    if ( cmnd.length == 0 ) {
        document.getElementById("hint_cmnd").innerHTML = "Chưa nhập CMND !";
        return;
    }
    if ( isNaN(cmnd) || cmnd.length != 9 ) {
        document.getElementById("hint_cmnd").innerHTML = "CMND không hợp lệ !";
        return;
    }
	
    if ( ngaysinh.length == 0 )  {
        document.getElementById("hint_ngaysinh").innerHTML = "Chưa nhập ngày sinh !";
        return;
    }
    if ( !date_check(ngaysinh) ) {
        document.getElementById("hint_ngaysinh").innerHTML = "Ngày sinh không hợp lệ !";
        return;
    }	

    xmlhttp = createXMLHttpRequest();
    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            var res = xmlhttp.responseText.replace(/[^0-9]/g, '');
            // sign up succeed
            if (res == "2")
                window.location = "index.jsp";
            else if (res == "1")
                document.getElementById("signup_failed").innerHTML = "CMND đã tồn tại.";
            else 
                document.getElementById("signup_failed").innerHTML = "Không thể đăng ký. Xin hãy nhập lại thông tin đăng ký chính xác.";                
        }
    }
    var serverURL = "gui_handling/signup_xuly.jsp?hoten=" + encodeURI(hoten) + "&cmnd=" + cmnd + "&ngaysinh=" + encodeURI(ngaysinh) + "&t=" + (new Date()).getTime();
    xmlhttp.open("GET",serverURL,true);
    xmlhttp.send();
}